<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>OrbbecSDK: ob::Device Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="orbbec_icon.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">OrbbecSDK
   &#160;<span id="projectnumber">1.10.22</span>
   </div>
   <div id="projectbrief">OrbbecSDK: Software-Development-Kit for Orbbec 3D Cameras</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceob.html">ob</a></li><li class="navelem"><a class="el" href="classob_1_1Device.html">Device</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classob_1_1Device-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ob::Device Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="Device_8hpp_source.html">Device.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4bbc101b3b034fda60a903b1e72719f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a4bbc101b3b034fda60a903b1e72719f5">Device</a> (std::unique_ptr&lt; DeviceImpl &gt; impl)</td></tr>
<tr class="memdesc:a4bbc101b3b034fda60a903b1e72719f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describe the entity of the RGBD camera, representing a specific model of RGBD camera.  <a href="#a4bbc101b3b034fda60a903b1e72719f5">More...</a><br /></td></tr>
<tr class="separator:a4bbc101b3b034fda60a903b1e72719f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fbdd8a07a50e4ce4a30804d216fe175"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a9fbdd8a07a50e4ce4a30804d216fe175">~Device</a> () noexcept</td></tr>
<tr class="separator:a9fbdd8a07a50e4ce4a30804d216fe175"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a569a6702fb6714954e29f8706ec2f281"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1DeviceInfo.html">DeviceInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a569a6702fb6714954e29f8706ec2f281">getDeviceInfo</a> ()</td></tr>
<tr class="memdesc:a569a6702fb6714954e29f8706ec2f281"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get device information.  <a href="#a569a6702fb6714954e29f8706ec2f281">More...</a><br /></td></tr>
<tr class="separator:a569a6702fb6714954e29f8706ec2f281"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa81c1777e26604eceaca49057da8d3c0"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1SensorList.html">SensorList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#aa81c1777e26604eceaca49057da8d3c0">getSensorList</a> ()</td></tr>
<tr class="memdesc:aa81c1777e26604eceaca49057da8d3c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get device sensor list.  <a href="#aa81c1777e26604eceaca49057da8d3c0">More...</a><br /></td></tr>
<tr class="separator:aa81c1777e26604eceaca49057da8d3c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1596fafafe2fab26ff5fe5cc21cd954d"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1Sensor.html">Sensor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a1596fafafe2fab26ff5fe5cc21cd954d">getSensor</a> (<a class="el" href="ObTypes_8h.html#a0bf6f74f3eaabbf4a71720b9363b2aa8">OBSensorType</a> type)</td></tr>
<tr class="memdesc:a1596fafafe2fab26ff5fe5cc21cd954d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get specific type of sensor if device not open, SDK will automatically open the connected device and return to the instance.  <a href="#a1596fafafe2fab26ff5fe5cc21cd954d">More...</a><br /></td></tr>
<tr class="separator:a1596fafafe2fab26ff5fe5cc21cd954d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66eae09af03e4af525e5e95256c56d0e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a66eae09af03e4af525e5e95256c56d0e">setIntProperty</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId, int32_t property)</td></tr>
<tr class="memdesc:a66eae09af03e4af525e5e95256c56d0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set int type of device property.  <a href="#a66eae09af03e4af525e5e95256c56d0e">More...</a><br /></td></tr>
<tr class="separator:a66eae09af03e4af525e5e95256c56d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c822d67da621031f270fe2644f4bf83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a7c822d67da621031f270fe2644f4bf83">setFloatProperty</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId, float property)</td></tr>
<tr class="memdesc:a7c822d67da621031f270fe2644f4bf83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set float type of device property.  <a href="#a7c822d67da621031f270fe2644f4bf83">More...</a><br /></td></tr>
<tr class="separator:a7c822d67da621031f270fe2644f4bf83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a1dcbafd7d0283253cc69b153a13d87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a6a1dcbafd7d0283253cc69b153a13d87">setBoolProperty</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId, bool property)</td></tr>
<tr class="memdesc:a6a1dcbafd7d0283253cc69b153a13d87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set bool type of device property.  <a href="#a6a1dcbafd7d0283253cc69b153a13d87">More...</a><br /></td></tr>
<tr class="separator:a6a1dcbafd7d0283253cc69b153a13d87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3c95519c4f9237b54abadf6fd06920e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#aa3c95519c4f9237b54abadf6fd06920e">getIntProperty</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId)</td></tr>
<tr class="memdesc:aa3c95519c4f9237b54abadf6fd06920e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get int type of device property.  <a href="#aa3c95519c4f9237b54abadf6fd06920e">More...</a><br /></td></tr>
<tr class="separator:aa3c95519c4f9237b54abadf6fd06920e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e904d68d7a99c3f7cbd095394f8725a"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a7e904d68d7a99c3f7cbd095394f8725a">getFloatProperty</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId)</td></tr>
<tr class="memdesc:a7e904d68d7a99c3f7cbd095394f8725a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get float type of device property.  <a href="#a7e904d68d7a99c3f7cbd095394f8725a">More...</a><br /></td></tr>
<tr class="separator:a7e904d68d7a99c3f7cbd095394f8725a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac88b748fde7f65dbb8618b3c78d4f111"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#ac88b748fde7f65dbb8618b3c78d4f111">getBoolProperty</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId)</td></tr>
<tr class="memdesc:ac88b748fde7f65dbb8618b3c78d4f111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get bool type of device property.  <a href="#ac88b748fde7f65dbb8618b3c78d4f111">More...</a><br /></td></tr>
<tr class="separator:ac88b748fde7f65dbb8618b3c78d4f111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62c9666afdf498bed5a75f8d06ab6990"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structOBIntPropertyRange.html">OBIntPropertyRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a62c9666afdf498bed5a75f8d06ab6990">getIntPropertyRange</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId)</td></tr>
<tr class="memdesc:a62c9666afdf498bed5a75f8d06ab6990"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get int type device property range (including current value and default value)  <a href="#a62c9666afdf498bed5a75f8d06ab6990">More...</a><br /></td></tr>
<tr class="separator:a62c9666afdf498bed5a75f8d06ab6990"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5729b4690b32abb92da9afeda170d1eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structOBFloatPropertyRange.html">OBFloatPropertyRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a5729b4690b32abb92da9afeda170d1eb">getFloatPropertyRange</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId)</td></tr>
<tr class="memdesc:a5729b4690b32abb92da9afeda170d1eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get float type device property range((including current value and default value)  <a href="#a5729b4690b32abb92da9afeda170d1eb">More...</a><br /></td></tr>
<tr class="separator:a5729b4690b32abb92da9afeda170d1eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bf83911afddf9f427a92a64acd58524"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structOBBoolPropertyRange.html">OBBoolPropertyRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a6bf83911afddf9f427a92a64acd58524">getBoolPropertyRange</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId)</td></tr>
<tr class="memdesc:a6bf83911afddf9f427a92a64acd58524"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get bool type device property range (including current value and default value)  <a href="#a6bf83911afddf9f427a92a64acd58524">More...</a><br /></td></tr>
<tr class="separator:a6bf83911afddf9f427a92a64acd58524"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba075ac90895eb023a100490ccc6d6f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#aba075ac90895eb023a100490ccc6d6f3">writeAHB</a> (uint32_t reg, uint32_t mask, uint32_t value)</td></tr>
<tr class="memdesc:aba075ac90895eb023a100490ccc6d6f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write to an AHB register.  <a href="#aba075ac90895eb023a100490ccc6d6f3">More...</a><br /></td></tr>
<tr class="separator:aba075ac90895eb023a100490ccc6d6f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a635a8e05753a59500c092d0e127d2b3a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a635a8e05753a59500c092d0e127d2b3a">readAHB</a> (uint32_t reg, uint32_t mask, uint32_t *value)</td></tr>
<tr class="memdesc:a635a8e05753a59500c092d0e127d2b3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from an AHB register.  <a href="#a635a8e05753a59500c092d0e127d2b3a">More...</a><br /></td></tr>
<tr class="separator:a635a8e05753a59500c092d0e127d2b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0afce85aa8d085e210925db912492d3b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a0afce85aa8d085e210925db912492d3b">writeI2C</a> (uint32_t moduleId, uint32_t reg, uint32_t mask, uint32_t value)</td></tr>
<tr class="memdesc:a0afce85aa8d085e210925db912492d3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write to an I2C register.  <a href="#a0afce85aa8d085e210925db912492d3b">More...</a><br /></td></tr>
<tr class="separator:a0afce85aa8d085e210925db912492d3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bb47c0b13611b7dd00e3ffbcee21aec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a1bb47c0b13611b7dd00e3ffbcee21aec">readI2C</a> (uint32_t moduleId, uint32_t reg, uint32_t mask, uint32_t *value)</td></tr>
<tr class="memdesc:a1bb47c0b13611b7dd00e3ffbcee21aec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from an I2C register.  <a href="#a1bb47c0b13611b7dd00e3ffbcee21aec">More...</a><br /></td></tr>
<tr class="separator:a1bb47c0b13611b7dd00e3ffbcee21aec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05f4f760a391cbae0571623e1525fd54"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a05f4f760a391cbae0571623e1525fd54">writeFlash</a> (uint32_t offset, const void *data, uint32_t dataSize, <a class="el" href="Types_8hpp.html#a55032b39d9a625cc1b43684765ad46b1">SetDataCallback</a> callback, bool async=false)</td></tr>
<tr class="memdesc:a05f4f760a391cbae0571623e1525fd54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the properties for writing to Flash.  <a href="#a05f4f760a391cbae0571623e1525fd54">More...</a><br /></td></tr>
<tr class="separator:a05f4f760a391cbae0571623e1525fd54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7726384f7d51bd80124c0d3de505e99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#ab7726384f7d51bd80124c0d3de505e99">readFlash</a> (uint32_t offset, uint32_t dataSize, <a class="el" href="Types_8hpp.html#ad61b52694f0b59f151b1a380d3db0876">GetDataCallback</a> callback, bool async=false)</td></tr>
<tr class="memdesc:ab7726384f7d51bd80124c0d3de505e99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a property from Flash.  <a href="#ab7726384f7d51bd80124c0d3de505e99">More...</a><br /></td></tr>
<tr class="separator:ab7726384f7d51bd80124c0d3de505e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab691352346a2f3c9b3244b9013eb3516"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#ab691352346a2f3c9b3244b9013eb3516">writeCustomerData</a> (const void *data, uint32_t dataSize)</td></tr>
<tr class="memdesc:ab691352346a2f3c9b3244b9013eb3516"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the customer data type of a device property.  <a href="#ab691352346a2f3c9b3244b9013eb3516">More...</a><br /></td></tr>
<tr class="separator:ab691352346a2f3c9b3244b9013eb3516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33ea10323fe7e482fa58fa8925aa6eeb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a33ea10323fe7e482fa58fa8925aa6eeb">readCustomerData</a> (void *data, uint32_t *dataSize)</td></tr>
<tr class="memdesc:a33ea10323fe7e482fa58fa8925aa6eeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the customer data type of a device property.  <a href="#a33ea10323fe7e482fa58fa8925aa6eeb">More...</a><br /></td></tr>
<tr class="separator:a33ea10323fe7e482fa58fa8925aa6eeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10a91864fdff7248c3a2a8a2d4944fdf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a10a91864fdff7248c3a2a8a2d4944fdf">setRawData</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId, const void *data, uint32_t dataSize, <a class="el" href="Types_8hpp.html#a55032b39d9a625cc1b43684765ad46b1">SetDataCallback</a> callback, bool async=false)</td></tr>
<tr class="memdesc:a10a91864fdff7248c3a2a8a2d4944fdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the raw data type of a device property (with asynchronous callback)  <a href="#a10a91864fdff7248c3a2a8a2d4944fdf">More...</a><br /></td></tr>
<tr class="separator:a10a91864fdff7248c3a2a8a2d4944fdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90a74519cb001a6af1137d7d17361ac4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a90a74519cb001a6af1137d7d17361ac4">getRawData</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId, <a class="el" href="Types_8hpp.html#ad61b52694f0b59f151b1a380d3db0876">GetDataCallback</a> callback, bool async=false)</td></tr>
<tr class="memdesc:a90a74519cb001a6af1137d7d17361ac4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the raw data type of a device property (with asynchronous callback)  <a href="#a90a74519cb001a6af1137d7d17361ac4">More...</a><br /></td></tr>
<tr class="separator:a90a74519cb001a6af1137d7d17361ac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e19420a05358a7d0017132e0db3425b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a5e19420a05358a7d0017132e0db3425b">setStructuredData</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId, const void *data, uint32_t dataSize)</td></tr>
<tr class="memdesc:a5e19420a05358a7d0017132e0db3425b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the structured data type of a device property.  <a href="#a5e19420a05358a7d0017132e0db3425b">More...</a><br /></td></tr>
<tr class="separator:a5e19420a05358a7d0017132e0db3425b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49cb98480e2528dd1149d158945852e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a49cb98480e2528dd1149d158945852e8">getStructuredData</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId, void *data, uint32_t *dataSize)</td></tr>
<tr class="memdesc:a49cb98480e2528dd1149d158945852e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the structured data type of a device property.  <a href="#a49cb98480e2528dd1149d158945852e8">More...</a><br /></td></tr>
<tr class="separator:a49cb98480e2528dd1149d158945852e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eed1a9902604fdeb34f53f2c75e12be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a4eed1a9902604fdeb34f53f2c75e12be">setStructuredDataExt</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId, std::shared_ptr&lt; <a class="el" href="structOBDataBundle.html">OBDataBundle</a> &gt; dataBundle, <a class="el" href="Types_8hpp.html#a55032b39d9a625cc1b43684765ad46b1">SetDataCallback</a> callback)</td></tr>
<tr class="memdesc:a4eed1a9902604fdeb34f53f2c75e12be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the structured data type of a device property (with extended data bundle)  <a href="#a4eed1a9902604fdeb34f53f2c75e12be">More...</a><br /></td></tr>
<tr class="separator:a4eed1a9902604fdeb34f53f2c75e12be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd58aee8d19a3e21fb2eb1b0b967a0ee"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="structOBDataBundle.html">OBDataBundle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#afd58aee8d19a3e21fb2eb1b0b967a0ee">getStructuredDataExt</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId)</td></tr>
<tr class="memdesc:afd58aee8d19a3e21fb2eb1b0b967a0ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the structured data type of a device property (with extended data bundle)  <a href="#afd58aee8d19a3e21fb2eb1b0b967a0ee">More...</a><br /></td></tr>
<tr class="separator:afd58aee8d19a3e21fb2eb1b0b967a0ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62e5bf0c91dbb9e43d3c3c1bfceac071"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structOBProtocolVersion.html">OBProtocolVersion</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a62e5bf0c91dbb9e43d3c3c1bfceac071">getProtocolVersion</a> ()</td></tr>
<tr class="memdesc:a62e5bf0c91dbb9e43d3c3c1bfceac071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the property protocol version.  <a href="#a62e5bf0c91dbb9e43d3c3c1bfceac071">More...</a><br /></td></tr>
<tr class="separator:a62e5bf0c91dbb9e43d3c3c1bfceac071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29eb2331e62d75e26614de17afa71983"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a3831c1a41a610f549bd07c5c9872556f">OBCmdVersion</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a29eb2331e62d75e26614de17afa71983">getCmdVersion</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId)</td></tr>
<tr class="memdesc:a29eb2331e62d75e26614de17afa71983"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the cmdVersion of a property.  <a href="#a29eb2331e62d75e26614de17afa71983">More...</a><br /></td></tr>
<tr class="separator:a29eb2331e62d75e26614de17afa71983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6c6002275057cf72084e2ec14f5241e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#ae6c6002275057cf72084e2ec14f5241e">getSupportedPropertyCount</a> ()</td></tr>
<tr class="memdesc:ae6c6002275057cf72084e2ec14f5241e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of properties supported by the device.  <a href="#ae6c6002275057cf72084e2ec14f5241e">More...</a><br /></td></tr>
<tr class="separator:ae6c6002275057cf72084e2ec14f5241e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a869c829df2527eaf295882a289add42d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structOBPropertyItem.html">OBPropertyItem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a869c829df2527eaf295882a289add42d">getSupportedProperty</a> (uint32_t index)</td></tr>
<tr class="memdesc:a869c829df2527eaf295882a289add42d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the supported properties of the device.  <a href="#a869c829df2527eaf295882a289add42d">More...</a><br /></td></tr>
<tr class="separator:a869c829df2527eaf295882a289add42d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6401bf12c3eccd82891da15ebf2dd81c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a6401bf12c3eccd82891da15ebf2dd81c">isPropertySupported</a> (<a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a> propertyId, <a class="el" href="ObTypes_8h.html#aabf1ee574b8ce0e574add2cea5fdbe27">OBPermissionType</a> permission)</td></tr>
<tr class="memdesc:a6401bf12c3eccd82891da15ebf2dd81c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a property permission is supported.  <a href="#a6401bf12c3eccd82891da15ebf2dd81c">More...</a><br /></td></tr>
<tr class="separator:a6401bf12c3eccd82891da15ebf2dd81c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeb33fac92905821f2038f0464a6b31b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#adeb33fac92905821f2038f0464a6b31b">isGlobalTimestampSupported</a> ()</td></tr>
<tr class="memdesc:adeb33fac92905821f2038f0464a6b31b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the global timestamp is supported for the device.  <a href="#adeb33fac92905821f2038f0464a6b31b">More...</a><br /></td></tr>
<tr class="separator:adeb33fac92905821f2038f0464a6b31b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2bd8a9f47d3fe9bb7be0b173b2cab7d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#ab2bd8a9f47d3fe9bb7be0b173b2cab7d">deviceUpgrade</a> (const char *filePath, <a class="el" href="Types_8hpp.html#a7ba2b2a9b8b236cd9d7bbbf666c49989">DeviceUpgradeCallback</a> callback, bool async=true)</td></tr>
<tr class="memdesc:ab2bd8a9f47d3fe9bb7be0b173b2cab7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Upgrade the device firmware.  <a href="#ab2bd8a9f47d3fe9bb7be0b173b2cab7d">More...</a><br /></td></tr>
<tr class="separator:ab2bd8a9f47d3fe9bb7be0b173b2cab7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f0f110f2ef0edeba0bf776241878580"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a6f0f110f2ef0edeba0bf776241878580">deviceUpgradeFromData</a> (const char *fileData, uint32_t fileSize, <a class="el" href="Types_8hpp.html#a7ba2b2a9b8b236cd9d7bbbf666c49989">DeviceUpgradeCallback</a> callback, bool async=true)</td></tr>
<tr class="separator:a6f0f110f2ef0edeba0bf776241878580"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0a525cebe10c3369d3060516a1ab3ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#ad0a525cebe10c3369d3060516a1ab3ef">sendFile</a> (const char *filePath, const char *dstPath, <a class="el" href="Types_8hpp.html#af4ed1a1867e655fa5e4b77e646f080a4">SendFileCallback</a> callback, bool async=true)</td></tr>
<tr class="memdesc:ad0a525cebe10c3369d3060516a1ab3ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send files to the specified path on the device side [Asynchronouscallback].  <a href="#ad0a525cebe10c3369d3060516a1ab3ef">More...</a><br /></td></tr>
<tr class="separator:ad0a525cebe10c3369d3060516a1ab3ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac2306bc576a712b9ac2ce8ec72d55f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a22fc53a75b8fa17029bb0befcb9c6829">OBDeviceState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#aac2306bc576a712b9ac2ce8ec72d55f8">getDeviceState</a> ()</td></tr>
<tr class="memdesc:aac2306bc576a712b9ac2ce8ec72d55f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current state.  <a href="#aac2306bc576a712b9ac2ce8ec72d55f8">More...</a><br /></td></tr>
<tr class="separator:aac2306bc576a712b9ac2ce8ec72d55f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb598f9726aafc210c7fb01774065172"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#acb598f9726aafc210c7fb01774065172">setDeviceStateChangedCallback</a> (<a class="el" href="Types_8hpp.html#a13d2e28ccdab82c8e22163d4b71f48aa">DeviceStateChangedCallback</a> callback)</td></tr>
<tr class="memdesc:acb598f9726aafc210c7fb01774065172"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the device state changed callbacks.  <a href="#acb598f9726aafc210c7fb01774065172">More...</a><br /></td></tr>
<tr class="separator:acb598f9726aafc210c7fb01774065172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bec58d49565ad02b7951907fb71ee2c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a2bec58d49565ad02b7951907fb71ee2c">activateAuthorization</a> (const char *authCode)</td></tr>
<tr class="memdesc:a2bec58d49565ad02b7951907fb71ee2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify device authorization code.  <a href="#a2bec58d49565ad02b7951907fb71ee2c">More...</a><br /></td></tr>
<tr class="separator:a2bec58d49565ad02b7951907fb71ee2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31d17dfb1127c3991a077ebd0d64ae4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a31d17dfb1127c3991a077ebd0d64ae4f">writeAuthorizationCode</a> (const char *authCodeStr)</td></tr>
<tr class="memdesc:a31d17dfb1127c3991a077ebd0d64ae4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write authorization code.  <a href="#a31d17dfb1127c3991a077ebd0d64ae4f">More...</a><br /></td></tr>
<tr class="separator:a31d17dfb1127c3991a077ebd0d64ae4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a792366d449d6cf97696f77c0b478bf25"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1CameraParamList.html">CameraParamList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a792366d449d6cf97696f77c0b478bf25">getCalibrationCameraParamList</a> ()</td></tr>
<tr class="memdesc:a792366d449d6cf97696f77c0b478bf25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the original parameter list of camera calibration saved in the device.  <a href="#a792366d449d6cf97696f77c0b478bf25">More...</a><br /></td></tr>
<tr class="separator:a792366d449d6cf97696f77c0b478bf25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1377e9b551a7b35fc59c984896cc5df0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structOBDepthWorkMode.html">OBDepthWorkMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a1377e9b551a7b35fc59c984896cc5df0">getCurrentDepthWorkMode</a> ()</td></tr>
<tr class="memdesc:a1377e9b551a7b35fc59c984896cc5df0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current depth work mode.  <a href="#a1377e9b551a7b35fc59c984896cc5df0">More...</a><br /></td></tr>
<tr class="separator:a1377e9b551a7b35fc59c984896cc5df0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab952b1ebbfb58738024e8a8a164b5bcf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a16946a0e76e54d58fe6a945fccc3190b">OBStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#ab952b1ebbfb58738024e8a8a164b5bcf">switchDepthWorkMode</a> (const <a class="el" href="structOBDepthWorkMode.html">OBDepthWorkMode</a> &amp;workMode)</td></tr>
<tr class="memdesc:ab952b1ebbfb58738024e8a8a164b5bcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Switch depth work mode by <a class="el" href="structOBDepthWorkMode.html" title="Depth work mode. ">OBDepthWorkMode</a>. Prefer invoke <a class="el" href="classob_1_1Device.html#a9601703a8e0c49a6128fc5fbba012be8" title="Switch depth work mode by work mode name. ">switchDepthWorkMode(const char *modeName)</a> to switch depth mode when known the complete name of depth work mode.  <a href="#ab952b1ebbfb58738024e8a8a164b5bcf">More...</a><br /></td></tr>
<tr class="separator:ab952b1ebbfb58738024e8a8a164b5bcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9601703a8e0c49a6128fc5fbba012be8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a16946a0e76e54d58fe6a945fccc3190b">OBStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a9601703a8e0c49a6128fc5fbba012be8">switchDepthWorkMode</a> (const char *modeName)</td></tr>
<tr class="memdesc:a9601703a8e0c49a6128fc5fbba012be8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Switch depth work mode by work mode name.  <a href="#a9601703a8e0c49a6128fc5fbba012be8">More...</a><br /></td></tr>
<tr class="separator:a9601703a8e0c49a6128fc5fbba012be8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77eefea9ac546664ef91faac278a7957"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1OBDepthWorkModeList.html">OBDepthWorkModeList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a77eefea9ac546664ef91faac278a7957">getDepthWorkModeList</a> ()</td></tr>
<tr class="memdesc:a77eefea9ac546664ef91faac278a7957"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request support depth work mode list.  <a href="#a77eefea9ac546664ef91faac278a7957">More...</a><br /></td></tr>
<tr class="separator:a77eefea9ac546664ef91faac278a7957"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9abc8db448a8181e2cf5849f3dea75dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a9abc8db448a8181e2cf5849f3dea75dd">reboot</a> ()</td></tr>
<tr class="memdesc:a9abc8db448a8181e2cf5849f3dea75dd"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classob_1_1Device.html">Device</a> restart.  <a href="#a9abc8db448a8181e2cf5849f3dea75dd">More...</a><br /></td></tr>
<tr class="separator:a9abc8db448a8181e2cf5849f3dea75dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6370104afd5044074c8a0069816ac156"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a6370104afd5044074c8a0069816ac156">reboot</a> (uint32_t delayMs)</td></tr>
<tr class="memdesc:a6370104afd5044074c8a0069816ac156"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classob_1_1Device.html">Device</a> restart delay mode.  <a href="#a6370104afd5044074c8a0069816ac156">More...</a><br /></td></tr>
<tr class="separator:a6370104afd5044074c8a0069816ac156"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39fb107e1de53d5b5a122f3178b5dde0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#ac1e8a42306d8e67cb94ca31c3956ee78">DEPRECATED</a> uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a39fb107e1de53d5b5a122f3178b5dde0">syncDeviceTime</a> ()</td></tr>
<tr class="memdesc:a39fb107e1de53d5b5a122f3178b5dde0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synchronize the device time (synchronize local system time to device)  <a href="#a39fb107e1de53d5b5a122f3178b5dde0">More...</a><br /></td></tr>
<tr class="separator:a39fb107e1de53d5b5a122f3178b5dde0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae522b554820d4fb62f38c78e9a15dc0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#ac1e8a42306d8e67cb94ca31c3956ee78">DEPRECATED</a> <a class="el" href="structOBDeviceSyncConfig.html">OBDeviceSyncConfig</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#ae522b554820d4fb62f38c78e9a15dc0f">getSyncConfig</a> ()</td></tr>
<tr class="memdesc:ae522b554820d4fb62f38c78e9a15dc0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the current device synchronization configuration  <a href="#ae522b554820d4fb62f38c78e9a15dc0f">More...</a><br /></td></tr>
<tr class="separator:ae522b554820d4fb62f38c78e9a15dc0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24e8e3e4c80d1b8f73fbdd3215cec501"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#ac1e8a42306d8e67cb94ca31c3956ee78">DEPRECATED</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a24e8e3e4c80d1b8f73fbdd3215cec501">setSyncConfig</a> (const <a class="el" href="structOBDeviceSyncConfig.html">OBDeviceSyncConfig</a> &amp;deviceSyncConfig)</td></tr>
<tr class="memdesc:a24e8e3e4c80d1b8f73fbdd3215cec501"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the device synchronization configuration.  <a href="#a24e8e3e4c80d1b8f73fbdd3215cec501">More...</a><br /></td></tr>
<tr class="separator:a24e8e3e4c80d1b8f73fbdd3215cec501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecf09140ececba0e42283d3aa236b8f2"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#aecf09140ececba0e42283d3aa236b8f2">getSupportedMultiDeviceSyncModeBitmap</a> ()</td></tr>
<tr class="memdesc:aecf09140ececba0e42283d3aa236b8f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the supported multi device sync mode bitmap of the device.  <a href="#aecf09140ececba0e42283d3aa236b8f2">More...</a><br /></td></tr>
<tr class="separator:aecf09140ececba0e42283d3aa236b8f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c85a231a9d0fa0adfc23038adb185b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a0c85a231a9d0fa0adfc23038adb185b3">setMultiDeviceSyncConfig</a> (const <a class="el" href="ObTypes_8h.html#af4e7a91cbe5b14388da412de0deca8f1">OBMultiDeviceSyncConfig</a> &amp;config)</td></tr>
<tr class="memdesc:a0c85a231a9d0fa0adfc23038adb185b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the multi device sync configuration of the device.  <a href="#a0c85a231a9d0fa0adfc23038adb185b3">More...</a><br /></td></tr>
<tr class="separator:a0c85a231a9d0fa0adfc23038adb185b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a140c19bc71384cf4aaa751879a27a1ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#af4e7a91cbe5b14388da412de0deca8f1">OBMultiDeviceSyncConfig</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a140c19bc71384cf4aaa751879a27a1ba">getMultiDeviceSyncConfig</a> ()</td></tr>
<tr class="memdesc:a140c19bc71384cf4aaa751879a27a1ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the multi device sync configuration of the device.  <a href="#a140c19bc71384cf4aaa751879a27a1ba">More...</a><br /></td></tr>
<tr class="separator:a140c19bc71384cf4aaa751879a27a1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9d3807dae6d8a1fab5ffde4c51b30bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#aa9d3807dae6d8a1fab5ffde4c51b30bf">triggerCapture</a> ()</td></tr>
<tr class="memdesc:aa9d3807dae6d8a1fab5ffde4c51b30bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">send the capture command to the device.  <a href="#aa9d3807dae6d8a1fab5ffde4c51b30bf">More...</a><br /></td></tr>
<tr class="separator:aa9d3807dae6d8a1fab5ffde4c51b30bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb82d723ca4449bb42beb58b1519c43f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#acb82d723ca4449bb42beb58b1519c43f">setTimestampResetConfig</a> (const <a class="el" href="ObTypes_8h.html#acbdc98f467b8d2b705ea2c82f9387455">OBDeviceTimestampResetConfig</a> &amp;config)</td></tr>
<tr class="memdesc:acb82d723ca4449bb42beb58b1519c43f"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the timestamp reset configuration of the device.  <a href="#acb82d723ca4449bb42beb58b1519c43f">More...</a><br /></td></tr>
<tr class="separator:acb82d723ca4449bb42beb58b1519c43f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fba7fe67888ae13691b731a6952396f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#acbdc98f467b8d2b705ea2c82f9387455">OBDeviceTimestampResetConfig</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a6fba7fe67888ae13691b731a6952396f">getTimestampResetConfig</a> ()</td></tr>
<tr class="memdesc:a6fba7fe67888ae13691b731a6952396f"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the timestamp reset configuration of the device.  <a href="#a6fba7fe67888ae13691b731a6952396f">More...</a><br /></td></tr>
<tr class="separator:a6fba7fe67888ae13691b731a6952396f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf6de9620c1fd69e62efa22d9b22b040"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#aaf6de9620c1fd69e62efa22d9b22b040">timestampReset</a> ()</td></tr>
<tr class="memdesc:aaf6de9620c1fd69e62efa22d9b22b040"><td class="mdescLeft">&#160;</td><td class="mdescRight">send the timestamp reset command to the device.  <a href="#aaf6de9620c1fd69e62efa22d9b22b040">More...</a><br /></td></tr>
<tr class="separator:aaf6de9620c1fd69e62efa22d9b22b040"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22d32711d5d2c88f78da10b4af8af844"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a22d32711d5d2c88f78da10b4af8af844">timerSyncWithHost</a> ()</td></tr>
<tr class="memdesc:a22d32711d5d2c88f78da10b4af8af844"><td class="mdescLeft">&#160;</td><td class="mdescRight">synchronize the timer of the device with the host.  <a href="#a22d32711d5d2c88f78da10b4af8af844">More...</a><br /></td></tr>
<tr class="separator:a22d32711d5d2c88f78da10b4af8af844"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae1b8c76518bbd92b0e0b8b6e1ef8e35"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#aae1b8c76518bbd92b0e0b8b6e1ef8e35">loadDepthFilterConfig</a> (const char *filePath)</td></tr>
<tr class="memdesc:aae1b8c76518bbd92b0e0b8b6e1ef8e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load depth filter config from file.  <a href="#aae1b8c76518bbd92b0e0b8b6e1ef8e35">More...</a><br /></td></tr>
<tr class="separator:aae1b8c76518bbd92b0e0b8b6e1ef8e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c673fdd82aa383d34b5f252ec24f75a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a7c673fdd82aa383d34b5f252ec24f75a">resetDefaultDepthFilterConfig</a> ()</td></tr>
<tr class="memdesc:a7c673fdd82aa383d34b5f252ec24f75a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset depth filter config to device default define.  <a href="#a7c673fdd82aa383d34b5f252ec24f75a">More...</a><br /></td></tr>
<tr class="separator:a7c673fdd82aa383d34b5f252ec24f75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e3cb191769e365cf388efd75cf842ad"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a7e3cb191769e365cf388efd75cf842ad">getCurrentPresetName</a> ()</td></tr>
<tr class="memdesc:a7e3cb191769e365cf388efd75cf842ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current preset name.  <a href="#a7e3cb191769e365cf388efd75cf842ad">More...</a><br /></td></tr>
<tr class="separator:a7e3cb191769e365cf388efd75cf842ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac82e37001d141b8603606192a7426f9b"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#ac82e37001d141b8603606192a7426f9b">getCurrentDepthModeName</a> ()</td></tr>
<tr class="memdesc:ac82e37001d141b8603606192a7426f9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current depth mode name.  <a href="#ac82e37001d141b8603606192a7426f9b">More...</a><br /></td></tr>
<tr class="separator:ac82e37001d141b8603606192a7426f9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b5064f0c4a748667f5cfbc3dcdf409b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a9b5064f0c4a748667f5cfbc3dcdf409b">loadPreset</a> (const char *presetName)</td></tr>
<tr class="memdesc:a9b5064f0c4a748667f5cfbc3dcdf409b"><td class="mdescLeft">&#160;</td><td class="mdescRight">load the preset according to the preset name.  <a href="#a9b5064f0c4a748667f5cfbc3dcdf409b">More...</a><br /></td></tr>
<tr class="separator:a9b5064f0c4a748667f5cfbc3dcdf409b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea772f85c7d29e29ebfa124e7d9e67e7"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1DevicePresetList.html">DevicePresetList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#aea772f85c7d29e29ebfa124e7d9e67e7">getAvailablePresetList</a> ()</td></tr>
<tr class="memdesc:aea772f85c7d29e29ebfa124e7d9e67e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get available preset list.  <a href="#aea772f85c7d29e29ebfa124e7d9e67e7">More...</a><br /></td></tr>
<tr class="separator:aea772f85c7d29e29ebfa124e7d9e67e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95b38ef1cdbcf8030809833176dd2719"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a95b38ef1cdbcf8030809833176dd2719">loadPresetFromJsonFile</a> (const char *filePath)</td></tr>
<tr class="memdesc:a95b38ef1cdbcf8030809833176dd2719"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load custom preset from file.  <a href="#a95b38ef1cdbcf8030809833176dd2719">More...</a><br /></td></tr>
<tr class="separator:a95b38ef1cdbcf8030809833176dd2719"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a253fc2d87309ba3c1cbc0d37ea6fc77d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a253fc2d87309ba3c1cbc0d37ea6fc77d">loadPresetFromJsonData</a> (const char *presetName, const uint8_t *data, uint32_t size)</td></tr>
<tr class="memdesc:a253fc2d87309ba3c1cbc0d37ea6fc77d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load custom preset from data.  <a href="#a253fc2d87309ba3c1cbc0d37ea6fc77d">More...</a><br /></td></tr>
<tr class="separator:a253fc2d87309ba3c1cbc0d37ea6fc77d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3712fd38b3c49436c6fa1a8199bad7ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a3712fd38b3c49436c6fa1a8199bad7ca">exportSettingsAsPresetJsonFile</a> (const char *filePath)</td></tr>
<tr class="memdesc:a3712fd38b3c49436c6fa1a8199bad7ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export current device settings as a preset json file.  <a href="#a3712fd38b3c49436c6fa1a8199bad7ca">More...</a><br /></td></tr>
<tr class="separator:a3712fd38b3c49436c6fa1a8199bad7ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa45bf1cb1cca1da249c0396519958323"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#aa45bf1cb1cca1da249c0396519958323">exportSettingsAsPresetJsonData</a> (const char *presetName, const uint8_t **data, uint32_t *dataSize)</td></tr>
<tr class="memdesc:aa45bf1cb1cca1da249c0396519958323"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export current device settings as a preset json data.  <a href="#aa45bf1cb1cca1da249c0396519958323">More...</a><br /></td></tr>
<tr class="separator:aa45bf1cb1cca1da249c0396519958323"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a0cd5f7d083d5ccf908596303f9cfdd2b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a0cd5f7d083d5ccf908596303f9cfdd2b">Device</a> (<a class="el" href="classob_1_1Device.html">Device</a> &amp;&amp;device)</td></tr>
<tr class="separator:a0cd5f7d083d5ccf908596303f9cfdd2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:affe52066e4c9993e4ed8bdf47fd15d48"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; DeviceImpl &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#affe52066e4c9993e4ed8bdf47fd15d48">impl_</a></td></tr>
<tr class="separator:affe52066e4c9993e4ed8bdf47fd15d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:af9f0f1adbd5baee7830839447205af8d"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#af9f0f1adbd5baee7830839447205af8d">Pipeline</a></td></tr>
<tr class="separator:af9f0f1adbd5baee7830839447205af8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2950f414c752afb074d9849f834ae58e"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a2950f414c752afb074d9849f834ae58e">Recorder</a></td></tr>
<tr class="separator:a2950f414c752afb074d9849f834ae58e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bed2fe813d6c793ff9dadd249133dab"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Device.html#a4bed2fe813d6c793ff9dadd249133dab">CoordinateTransformHelper</a></td></tr>
<tr class="separator:a4bed2fe813d6c793ff9dadd249133dab"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="Device_8hpp_source.html#l00029">29</a> of file <a class="el" href="Device_8hpp_source.html">Device.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0cd5f7d083d5ccf908596303f9cfdd2b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ob::Device::Device </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classob_1_1Device.html">Device</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4bbc101b3b034fda60a903b1e72719f5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ob::Device::Device </td>
          <td>(</td>
          <td class="paramtype">std::unique_ptr&lt; DeviceImpl &gt;&#160;</td>
          <td class="paramname"><em>impl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Describe the entity of the RGBD camera, representing a specific model of RGBD camera. </p>

</div>
</div>
<a class="anchor" id="a9fbdd8a07a50e4ce4a30804d216fe175"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual ob::Device::~Device </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a569a6702fb6714954e29f8706ec2f281"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt;<a class="el" href="classob_1_1DeviceInfo.html">DeviceInfo</a>&gt; ob::Device::getDeviceInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get device information. </p>
<dl class="section return"><dt>Returns</dt><dd>std::shared_ptr&lt;DeviceInfo&gt; return device information </dd></dl>

</div>
</div>
<a class="anchor" id="aa81c1777e26604eceaca49057da8d3c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt;<a class="el" href="classob_1_1SensorList.html">SensorList</a>&gt; ob::Device::getSensorList </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get device sensor list. </p>
<dl class="section return"><dt>Returns</dt><dd>std::shared_ptr&lt;SensorList&gt; return the sensor list </dd></dl>

</div>
</div>
<a class="anchor" id="a1596fafafe2fab26ff5fe5cc21cd954d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt;<a class="el" href="classob_1_1Sensor.html">Sensor</a>&gt; ob::Device::getSensor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a0bf6f74f3eaabbf4a71720b9363b2aa8">OBSensorType</a>&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get specific type of sensor if device not open, SDK will automatically open the connected device and return to the instance. </p>
<dl class="section return"><dt>Returns</dt><dd>std::shared_ptr&lt;Sensor&gt; return the sensor example, if the device does not have the device,return nullptr </dd></dl>

</div>
</div>
<a class="anchor" id="a66eae09af03e4af525e5e95256c56d0e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::setIntProperty </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>property</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set int type of device property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>Property id </td></tr>
    <tr><td class="paramname">property</td><td>Property to be set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7c822d67da621031f270fe2644f4bf83"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::setFloatProperty </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>property</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set float type of device property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>Property id </td></tr>
    <tr><td class="paramname">property</td><td>Property to be set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6a1dcbafd7d0283253cc69b153a13d87"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::setBoolProperty </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>property</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set bool type of device property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>Property id </td></tr>
    <tr><td class="paramname">property</td><td>Property to be set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa3c95519c4f9237b54abadf6fd06920e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t ob::Device::getIntProperty </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get int type of device property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>Property id </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int32_t Property to get </dd></dl>

</div>
</div>
<a class="anchor" id="a7e904d68d7a99c3f7cbd095394f8725a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float ob::Device::getFloatProperty </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get float type of device property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>Property id </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>float Property to get </dd></dl>

</div>
</div>
<a class="anchor" id="ac88b748fde7f65dbb8618b3c78d4f111"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ob::Device::getBoolProperty </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get bool type of device property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>Property id </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool Property to get </dd></dl>

</div>
</div>
<a class="anchor" id="a62c9666afdf498bed5a75f8d06ab6990"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structOBIntPropertyRange.html">OBIntPropertyRange</a> ob::Device::getIntPropertyRange </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get int type device property range (including current value and default value) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>Property id </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structOBIntPropertyRange.html" title="Structure for integer range. ">OBIntPropertyRange</a> Property range </dd></dl>

</div>
</div>
<a class="anchor" id="a5729b4690b32abb92da9afeda170d1eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structOBFloatPropertyRange.html">OBFloatPropertyRange</a> ob::Device::getFloatPropertyRange </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get float type device property range((including current value and default value) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>Property id </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structOBFloatPropertyRange.html" title="Structure for float range. ">OBFloatPropertyRange</a> Property range </dd></dl>

</div>
</div>
<a class="anchor" id="a6bf83911afddf9f427a92a64acd58524"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structOBBoolPropertyRange.html">OBBoolPropertyRange</a> ob::Device::getBoolPropertyRange </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get bool type device property range (including current value and default value) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>The ID of the property </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structOBBoolPropertyRange.html" title="Structure for boolean range. ">OBBoolPropertyRange</a> The range of the property </dd></dl>

</div>
</div>
<a class="anchor" id="aba075ac90895eb023a100490ccc6d6f3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::writeAHB </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write to an AHB register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">reg</td><td>The register to write to </td></tr>
    <tr><td class="paramname">mask</td><td>The mask to apply </td></tr>
    <tr><td class="paramname">value</td><td>The value to write </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a635a8e05753a59500c092d0e127d2b3a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::readAHB </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read from an AHB register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">reg</td><td>The register to read from </td></tr>
    <tr><td class="paramname">mask</td><td>The mask to apply </td></tr>
    <tr><td class="paramname">value</td><td>The value to return </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0afce85aa8d085e210925db912492d3b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::writeI2C </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>moduleId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write to an I2C register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">moduleId</td><td>The ID of the I2C module to write to </td></tr>
    <tr><td class="paramname">reg</td><td>The register to write to </td></tr>
    <tr><td class="paramname">mask</td><td>The mask to apply </td></tr>
    <tr><td class="paramname">value</td><td>The value to write </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1bb47c0b13611b7dd00e3ffbcee21aec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::readI2C </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>moduleId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read from an I2C register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">moduleId</td><td>The ID of the I2C module to read from </td></tr>
    <tr><td class="paramname">reg</td><td>The register to read from </td></tr>
    <tr><td class="paramname">mask</td><td>The mask to apply </td></tr>
    <tr><td class="paramname">value</td><td>The value to return </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a05f4f760a391cbae0571623e1525fd54"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::writeFlash </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="Types_8hpp.html#a55032b39d9a625cc1b43684765ad46b1">SetDataCallback</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>async</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the properties for writing to Flash. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">offset</td><td>The offset address in Flash </td></tr>
    <tr><td class="paramname">data</td><td>The data to write </td></tr>
    <tr><td class="paramname">dataSize</td><td>The size of the data to write </td></tr>
    <tr><td class="paramname">callback</td><td>The callback for write progress </td></tr>
    <tr><td class="paramname">async</td><td>Whether to execute asynchronously </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab7726384f7d51bd80124c0d3de505e99"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::readFlash </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="Types_8hpp.html#ad61b52694f0b59f151b1a380d3db0876">GetDataCallback</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>async</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read a property from Flash. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">offset</td><td>The offset address in Flash </td></tr>
    <tr><td class="paramname">dataSize</td><td>The size of the property to read </td></tr>
    <tr><td class="paramname">callback</td><td>The callback for read progress and data </td></tr>
    <tr><td class="paramname">async</td><td>Whether to execute asynchronously </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab691352346a2f3c9b3244b9013eb3516"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::writeCustomerData </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the customer data type of a device property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>The data to set </td></tr>
    <tr><td class="paramname">dataSize</td><td>The size of the data to set,the maximum length cannot exceed 65532 bytes. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a33ea10323fe7e482fa58fa8925aa6eeb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::readCustomerData </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>dataSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the customer data type of a device property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>The property data obtained </td></tr>
    <tr><td class="paramname">dataSize</td><td>The size of the data obtained </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a10a91864fdff7248c3a2a8a2d4944fdf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::setRawData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="Types_8hpp.html#a55032b39d9a625cc1b43684765ad46b1">SetDataCallback</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>async</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the raw data type of a device property (with asynchronous callback) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>The ID of the property </td></tr>
    <tr><td class="paramname">data</td><td>The data to set </td></tr>
    <tr><td class="paramname">dataSize</td><td>The size of the data to set </td></tr>
    <tr><td class="paramname">callback</td><td>The callback for set progress </td></tr>
    <tr><td class="paramname">async</td><td>Whether to execute asynchronously </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a90a74519cb001a6af1137d7d17361ac4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::getRawData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="Types_8hpp.html#ad61b52694f0b59f151b1a380d3db0876">GetDataCallback</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>async</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the raw data type of a device property (with asynchronous callback) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>The ID of the property </td></tr>
    <tr><td class="paramname">callback</td><td>The callback for getting the data and progress </td></tr>
    <tr><td class="paramname">async</td><td>Whether to execute asynchronously </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5e19420a05358a7d0017132e0db3425b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::setStructuredData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the structured data type of a device property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>The ID of the property </td></tr>
    <tr><td class="paramname">data</td><td>The data to set </td></tr>
    <tr><td class="paramname">dataSize</td><td>The size of the data to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a49cb98480e2528dd1149d158945852e8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::getStructuredData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>dataSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the structured data type of a device property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>The ID of the property </td></tr>
    <tr><td class="paramname">data</td><td>The property data obtained </td></tr>
    <tr><td class="paramname">dataSize</td><td>The size of the data obtained </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4eed1a9902604fdeb34f53f2c75e12be"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::setStructuredDataExt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="structOBDataBundle.html">OBDataBundle</a> &gt;&#160;</td>
          <td class="paramname"><em>dataBundle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="Types_8hpp.html#a55032b39d9a625cc1b43684765ad46b1">SetDataCallback</a>&#160;</td>
          <td class="paramname"><em>callback</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the structured data type of a device property (with extended data bundle) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>The ID of the property </td></tr>
    <tr><td class="paramname">dataBundle</td><td>The target data bundle </td></tr>
    <tr><td class="paramname">callback</td><td>The callback for setting </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afd58aee8d19a3e21fb2eb1b0b967a0ee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt;<a class="el" href="structOBDataBundle.html">OBDataBundle</a>&gt; ob::Device::getStructuredDataExt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the structured data type of a device property (with extended data bundle) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>The ID of the property </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The data bundle </dd></dl>

</div>
</div>
<a class="anchor" id="a62e5bf0c91dbb9e43d3c3c1bfceac071"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structOBProtocolVersion.html">OBProtocolVersion</a> ob::Device::getProtocolVersion </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the property protocol version. </p>
<dl class="section return"><dt>Returns</dt><dd>The protocol version </dd></dl>

</div>
</div>
<a class="anchor" id="a29eb2331e62d75e26614de17afa71983"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a3831c1a41a610f549bd07c5c9872556f">OBCmdVersion</a> ob::Device::getCmdVersion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the cmdVersion of a property. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>The ID of the property </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The cmdVersion </dd></dl>

</div>
</div>
<a class="anchor" id="ae6c6002275057cf72084e2ec14f5241e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ob::Device::getSupportedPropertyCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of properties supported by the device. </p>
<dl class="section return"><dt>Returns</dt><dd>The number of supported properties </dd></dl>

</div>
</div>
<a class="anchor" id="a869c829df2527eaf295882a289add42d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structOBPropertyItem.html">OBPropertyItem</a> ob::Device::getSupportedProperty </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the supported properties of the device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>The index of the property </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The type of supported property </dd></dl>

</div>
</div>
<a class="anchor" id="a6401bf12c3eccd82891da15ebf2dd81c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ob::Device::isPropertySupported </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Property_8h.html#a9e7aac1ea041c8958ea8c6e3aa53bbab">OBPropertyID</a>&#160;</td>
          <td class="paramname"><em>propertyId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#aabf1ee574b8ce0e574add2cea5fdbe27">OBPermissionType</a>&#160;</td>
          <td class="paramname"><em>permission</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if a property permission is supported. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">propertyId</td><td>The ID of the property </td></tr>
    <tr><td class="paramname">permission</td><td>The read and write permissions to check </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Whether the property permission is supported </dd></dl>

</div>
</div>
<a class="anchor" id="adeb33fac92905821f2038f0464a6b31b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ob::Device::isGlobalTimestampSupported </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if the global timestamp is supported for the device. </p>
<dl class="section return"><dt>Returns</dt><dd>Whether the global timestamp is supported </dd></dl>

</div>
</div>
<a class="anchor" id="ab2bd8a9f47d3fe9bb7be0b173b2cab7d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::deviceUpgrade </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filePath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="Types_8hpp.html#a7ba2b2a9b8b236cd9d7bbbf666c49989">DeviceUpgradeCallback</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>async</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Upgrade the device firmware. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filePath</td><td>Firmware path </td></tr>
    <tr><td class="paramname">callback</td><td>Firmware upgrade progress and status callback </td></tr>
    <tr><td class="paramname">async</td><td>Whether to execute asynchronously </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6f0f110f2ef0edeba0bf776241878580"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::deviceUpgradeFromData </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fileData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>fileSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="Types_8hpp.html#a7ba2b2a9b8b236cd9d7bbbf666c49989">DeviceUpgradeCallback</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>async</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad0a525cebe10c3369d3060516a1ab3ef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::sendFile </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filePath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dstPath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="Types_8hpp.html#af4ed1a1867e655fa5e4b77e646f080a4">SendFileCallback</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>async</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Send files to the specified path on the device side [Asynchronouscallback]. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filePath</td><td>Original file path </td></tr>
    <tr><td class="paramname">dstPath</td><td>Accept the save path on the device side </td></tr>
    <tr><td class="paramname">callback</td><td>File transfer callback </td></tr>
    <tr><td class="paramname">async</td><td>Whether to execute asynchronously </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aac2306bc576a712b9ac2ce8ec72d55f8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a22fc53a75b8fa17029bb0befcb9c6829">OBDeviceState</a> ob::Device::getDeviceState </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the current state. </p>
<dl class="section return"><dt>Returns</dt><dd>OBDeviceState device state information </dd></dl>

</div>
</div>
<a class="anchor" id="acb598f9726aafc210c7fb01774065172"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::setDeviceStateChangedCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Types_8hpp.html#a13d2e28ccdab82c8e22163d4b71f48aa">DeviceStateChangedCallback</a>&#160;</td>
          <td class="paramname"><em>callback</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the device state changed callbacks. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">callback</td><td>The callback function that is triggered when the device status changes (for example, the frame rate is automatically reduced or the stream is closed due to high temperature, etc.) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2bec58d49565ad02b7951907fb71ee2c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ob::Device::activateAuthorization </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>authCode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Verify device authorization code. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">authCode</td><td>Authorization code </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool whether the activation is successful </dd></dl>

</div>
</div>
<a class="anchor" id="a31d17dfb1127c3991a077ebd0d64ae4f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::writeAuthorizationCode </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>authCodeStr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write authorization code. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">authCodeStr</td><td>Authorization code </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a792366d449d6cf97696f77c0b478bf25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt;<a class="el" href="classob_1_1CameraParamList.html">CameraParamList</a>&gt; ob::Device::getCalibrationCameraParamList </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the original parameter list of camera calibration saved in the device. </p>
<dl class="section attention"><dt>Attention</dt><dd>The parameters in the list do not correspond to the current open-current configuration. You need to select the parameters according to the actual situation, and may need to do scaling, mirroring and other processing. Non-professional users are recommended to use the <a class="el" href="classob_1_1Pipeline.html#ad4f59acb5ed8ed7db43535513fb9bcf2" title="Get the camera parameters. ">Pipeline::getCameraParam()</a> interface.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>std::shared_ptr&lt;CameraParamList&gt; camera parameter list </dd></dl>

</div>
</div>
<a class="anchor" id="a1377e9b551a7b35fc59c984896cc5df0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structOBDepthWorkMode.html">OBDepthWorkMode</a> ob::Device::getCurrentDepthWorkMode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get current depth work mode. </p>
<dl class="section return"><dt>Returns</dt><dd>ob_depth_work_mode Current depth work mode </dd></dl>

</div>
</div>
<a class="anchor" id="ab952b1ebbfb58738024e8a8a164b5bcf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a16946a0e76e54d58fe6a945fccc3190b">OBStatus</a> ob::Device::switchDepthWorkMode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structOBDepthWorkMode.html">OBDepthWorkMode</a> &amp;&#160;</td>
          <td class="paramname"><em>workMode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Switch depth work mode by <a class="el" href="structOBDepthWorkMode.html" title="Depth work mode. ">OBDepthWorkMode</a>. Prefer invoke <a class="el" href="classob_1_1Device.html#a9601703a8e0c49a6128fc5fbba012be8" title="Switch depth work mode by work mode name. ">switchDepthWorkMode(const char *modeName)</a> to switch depth mode when known the complete name of depth work mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">workMode</td><td>Depth work mode come from ob_depth_work_mode_list which return by ob_device_get_depth_work_mode_list </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9601703a8e0c49a6128fc5fbba012be8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a16946a0e76e54d58fe6a945fccc3190b">OBStatus</a> ob::Device::switchDepthWorkMode </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>modeName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Switch depth work mode by work mode name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">modeName</td><td>Depth work mode name which equals to <a class="el" href="structOBDepthWorkMode.html#a3d869051a5fb201a042fa33135fcfb6b" title="Name of work mode. ">OBDepthWorkMode.name</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a77eefea9ac546664ef91faac278a7957"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt;<a class="el" href="classob_1_1OBDepthWorkModeList.html">OBDepthWorkModeList</a>&gt; ob::Device::getDepthWorkModeList </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request support depth work mode list. </p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classob_1_1OBDepthWorkModeList.html" title="Class representing a list of OBDepthWorkMode. ">OBDepthWorkModeList</a> list of ob_depth_work_mode </dd></dl>

</div>
</div>
<a class="anchor" id="a9abc8db448a8181e2cf5849f3dea75dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::reboot </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="classob_1_1Device.html">Device</a> restart. </p>
<dl class="section attention"><dt>Attention</dt><dd>The device will be disconnected and reconnected. After the device is disconnected, the access to the <a class="el" href="classob_1_1Device.html">Device</a> object interface may be abnormal. Please delete the object directly and obtain it again after the device is reconnected. </dd></dl>

</div>
</div>
<a class="anchor" id="a6370104afd5044074c8a0069816ac156"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::reboot </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>delayMs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="classob_1_1Device.html">Device</a> restart delay mode. </p>
<dl class="section attention"><dt>Attention</dt><dd>The device will be disconnected and reconnected. After the device is disconnected, the access to the <a class="el" href="classob_1_1Device.html">Device</a> object interface may be abnormal. Please delete the object directly and obtain it again after the device is reconnected. Support devices: Gemini2 L</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">delayMs</td><td>Time unit：ms。delayMs == 0：No delay；delayMs &gt; 0, Delay millisecond connect to host device after reboot </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a39fb107e1de53d5b5a122f3178b5dde0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#ac1e8a42306d8e67cb94ca31c3956ee78">DEPRECATED</a> uint64_t ob::Device::syncDeviceTime </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Synchronize the device time (synchronize local system time to device) </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>This interface is deprecated, please use <a class="el" href="classob_1_1Device.html#a22d32711d5d2c88f78da10b4af8af844">timerSyncWithHost</a> instead. </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The command (round trip time, rtt) </dd></dl>

</div>
</div>
<a class="anchor" id="ae522b554820d4fb62f38c78e9a15dc0f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#ac1e8a42306d8e67cb94ca31c3956ee78">DEPRECATED</a> <a class="el" href="structOBDeviceSyncConfig.html">OBDeviceSyncConfig</a> ob::Device::getSyncConfig </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get the current device synchronization configuration </p>
<p><a class="el" href="classob_1_1Device.html">Device</a> synchronization: including exposure synchronization function and multi-camera synchronization function of different sensors within a single machine</p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd>This interface is deprecated, please use <a class="el" href="classob_1_1Device.html#a140c19bc71384cf4aaa751879a27a1ba">getMultiDeviceSyncConfig</a> instead.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structOBDeviceSyncConfig.html" title="Device synchronization configuration. ">OBDeviceSyncConfig</a> return the device synchronization configuration </dd></dl>

</div>
</div>
<a class="anchor" id="a24e8e3e4c80d1b8f73fbdd3215cec501"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#ac1e8a42306d8e67cb94ca31c3956ee78">DEPRECATED</a> void ob::Device::setSyncConfig </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structOBDeviceSyncConfig.html">OBDeviceSyncConfig</a> &amp;&#160;</td>
          <td class="paramname"><em>deviceSyncConfig</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the device synchronization configuration. </p>
<p>Used to configure the exposure synchronization function and multi-camera synchronization function of different sensors in a single machine</p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>This interface is deprecated, please use <a class="el" href="classob_1_1Device.html#a0c85a231a9d0fa0adfc23038adb185b3">setMultiDeviceSyncConfig</a> instead.</dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Calling this function will directly write the configuration to the device Flash, and it will still take effect after the device restarts. To avoid affecting the Flash lifespan, do not update the configuration frequently.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">deviceSyncConfig</td><td><a class="el" href="classob_1_1Device.html">Device</a> synchronization configuration </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aecf09140ececba0e42283d3aa236b8f2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t ob::Device::getSupportedMultiDeviceSyncModeBitmap </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the supported multi device sync mode bitmap of the device. </p>
<p>For example, if the return value is 0b00001100, it means the device supports <a class="el" href="ObTypes_8h.html#aabad929b67059752029c3374594ac63ba8e2f43bf0dd49abc986b551b75e0a923">OB_MULTI_DEVICE_SYNC_MODE_PRIMARY</a> and <a class="el" href="ObTypes_8h.html#aabad929b67059752029c3374594ac63ba23edc51a18fc3047d5390a065f83e06c">OB_MULTI_DEVICE_SYNC_MODE_SECONDARY</a>. User can check the supported mode by the code: </p><div class="fragment"><div class="line"><span class="keywordflow">if</span>(supported_mode_bitmap &amp; OB_MULTI_DEVICE_SYNC_MODE_FREE_RUN){</div><div class="line">   <span class="comment">//support OB_MULTI_DEVICE_SYNC_MODE_FREE_RUN</span></div><div class="line">}</div><div class="line"><span class="keywordflow">if</span>(supported_mode_bitmap &amp; OB_MULTI_DEVICE_SYNC_MODE_STANDALONE){</div><div class="line">  <span class="comment">//support OB_MULTI_DEVICE_SYNC_MODE_STANDALONE</span></div><div class="line">}</div><div class="line"><span class="comment">// and so on</span></div></div><!-- fragment --> <dl class="section return"><dt>Returns</dt><dd>uint16_t return the supported multi device sync mode bitmap of the device. </dd></dl>

</div>
</div>
<a class="anchor" id="a0c85a231a9d0fa0adfc23038adb185b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::setMultiDeviceSyncConfig </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ObTypes_8h.html#af4e7a91cbe5b14388da412de0deca8f1">OBMultiDeviceSyncConfig</a> &amp;&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>set the multi device sync configuration of the device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">config</td><td>The multi device sync configuration. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a140c19bc71384cf4aaa751879a27a1ba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#af4e7a91cbe5b14388da412de0deca8f1">OBMultiDeviceSyncConfig</a> ob::Device::getMultiDeviceSyncConfig </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get the multi device sync configuration of the device. </p>
<dl class="section return"><dt>Returns</dt><dd>OBMultiDeviceSyncConfig return the multi device sync configuration of the device. </dd></dl>

</div>
</div>
<a class="anchor" id="aa9d3807dae6d8a1fab5ffde4c51b30bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::triggerCapture </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>send the capture command to the device. </p>
<p>The device will start one time image capture after receiving the capture command when it is in the <a class="el" href="ObTypes_8h.html#aabad929b67059752029c3374594ac63ba2fe8400ffd77e63929e69bb0f0ab1da6">OB_MULTI_DEVICE_SYNC_MODE_SOFTWARE_TRIGGERING</a></p>
<dl class="section attention"><dt>Attention</dt><dd>The frequency of the user call this function multiplied by the number of frames per trigger should be less than the frame rate of the stream. The number of frames per trigger can be set by framesPerTrigger. </dd>
<dd>
For some models，receive and execute the capture command will have a certain delay and performance consumption, so the frequency of calling this function should not be too high, please refer to the product manual for the specific supported frequency. </dd>
<dd>
If the device is not in the <a class="el" href="ObTypes_8h.html#aabad929b67059752029c3374594ac63ba39ca63ef583695c083588ae28ea22ad9">OB_MULTI_DEVICE_SYNC_MODE_HARDWARE_TRIGGERING</a> mode, device will ignore the capture command. </dd></dl>

</div>
</div>
<a class="anchor" id="acb82d723ca4449bb42beb58b1519c43f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::setTimestampResetConfig </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ObTypes_8h.html#acbdc98f467b8d2b705ea2c82f9387455">OBDeviceTimestampResetConfig</a> &amp;&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>set the timestamp reset configuration of the device. </p>

</div>
</div>
<a class="anchor" id="a6fba7fe67888ae13691b731a6952396f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#acbdc98f467b8d2b705ea2c82f9387455">OBDeviceTimestampResetConfig</a> ob::Device::getTimestampResetConfig </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get the timestamp reset configuration of the device. </p>
<dl class="section return"><dt>Returns</dt><dd>OBDeviceTimestampResetConfig return the timestamp reset configuration of the device. </dd></dl>

</div>
</div>
<a class="anchor" id="aaf6de9620c1fd69e62efa22d9b22b040"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::timestampReset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>send the timestamp reset command to the device. </p>
<p>The device will reset the timer for calculating the timestamp for output frames to 0 after receiving the timestamp reset command when the timestamp reset function is enabled. The timestamp reset function can be enabled by call <a class="el" href="MultipleDevices_8h.html#a293ead22918e776ce10334e26e20d313">ob_device_set_timestamp_reset_config</a>. Before calling this function, user should call <a class="el" href="MultipleDevices_8h.html#a293ead22918e776ce10334e26e20d313">ob_device_set_timestamp_reset_config</a> to disable the timestamp reset function (It is not required for some models, but it is still recommended to do so for code compatibility).</p>
<dl class="section attention"><dt>Attention</dt><dd>If the stream of the device is started, the timestamp of the continuous frames output by the stream will jump once after the timestamp reset. </dd>
<dd>
Due to the timer of device is not high-accuracy, the timestamp of the continuous frames output by the stream will drift after a long time. User can call this function periodically to reset the timer to avoid the timestamp drift, the recommended interval time is 60 minutes. </dd></dl>

</div>
</div>
<a class="anchor" id="a22d32711d5d2c88f78da10b4af8af844"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::timerSyncWithHost </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>synchronize the timer of the device with the host. </p>
<p>After calling this function, the timer of the device will be synchronized with the host. User can call this function to multiple devices to synchronize all timers of the devices.</p>
<dl class="section attention"><dt>Attention</dt><dd>If the stream of the device is started, the timestamp of the continuous frames output by the stream will may jump once after the timer sync. </dd>
<dd>
Due to the timer of device is not high-accuracy, the timestamp of the continuous frames output by the stream will drift after a long time. User can call this function periodically to synchronize the timer to avoid the timestamp drift, the recommended interval time is 60 minutes. </dd></dl>

</div>
</div>
<a class="anchor" id="aae1b8c76518bbd92b0e0b8b6e1ef8e35"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::loadDepthFilterConfig </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filePath</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Load depth filter config from file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filePath</td><td>Path of the config file. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7c673fdd82aa383d34b5f252ec24f75a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::resetDefaultDepthFilterConfig </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset depth filter config to device default define. </p>

</div>
</div>
<a class="anchor" id="a7e3cb191769e365cf388efd75cf842ad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ob::Device::getCurrentPresetName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get current preset name. </p>
<p>The preset mean a set of parameters or configurations that can be applied to the device to achieve a specific effect or function. </p><dl class="section return"><dt>Returns</dt><dd>const char* return the current preset name, it should be one of the preset names returned by <a class="el" href="classob_1_1Device.html#aea772f85c7d29e29ebfa124e7d9e67e7">getAvailablePresetList</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ac82e37001d141b8603606192a7426f9b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ob::Device::getCurrentDepthModeName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get current depth mode name. </p>
<p>According the current preset name to return current depth mode name </p><dl class="section return"><dt>Returns</dt><dd>const char* return the current depth mode name. </dd></dl>

</div>
</div>
<a class="anchor" id="a9b5064f0c4a748667f5cfbc3dcdf409b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::loadPreset </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>presetName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>load the preset according to the preset name. </p>
<dl class="section attention"><dt>Attention</dt><dd>After loading the preset, the settings in the preset will set to the device immediately. Therefore, it is recommended to re-read the device settings to update the user program temporarily. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">presetName</td><td>The preset name to set. The name should be one of the preset names returned by <a class="el" href="classob_1_1Device.html#aea772f85c7d29e29ebfa124e7d9e67e7">getAvailablePresetList</a>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aea772f85c7d29e29ebfa124e7d9e67e7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt;<a class="el" href="classob_1_1DevicePresetList.html">DevicePresetList</a>&gt; ob::Device::getAvailablePresetList </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get available preset list. </p>
<p>The available preset list usually defined by the device manufacturer and restores on the device. User can load the custom preset by calling <a class="el" href="classob_1_1Device.html#a95b38ef1cdbcf8030809833176dd2719">loadPresetFromJsonFile</a> to append the available preset list.</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classob_1_1DevicePresetList.html" title="Class representing a list of device presets  A device preset is a set of parameters or configurations...">DevicePresetList</a> return the available preset list. </dd></dl>

</div>
</div>
<a class="anchor" id="a95b38ef1cdbcf8030809833176dd2719"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::loadPresetFromJsonFile </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filePath</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Load custom preset from file. </p>
<p>After loading the custom preset, the settings in the custom preset will set to the device immediately. After loading the custom preset, the available preset list will be appended with the custom preset and named as the file name.</p>
<dl class="section attention"><dt>Attention</dt><dd>The user should ensure that the custom preset file is adapted to the device and the settings in the file are valid. </dd>
<dd>
It is recommended to re-read the device settings to update the user program temporarily after successfully loading the custom preset.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filePath</td><td>The path of the custom preset file. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a253fc2d87309ba3c1cbc0d37ea6fc77d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::loadPresetFromJsonData </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>presetName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Load custom preset from data. </p>
<p>After loading the custom preset, the settings in the custom preset will set to the device immediately. After loading the custom preset, the available preset list will be appended with the custom preset and named as the presetName.</p>
<dl class="section attention"><dt>Attention</dt><dd>The user should ensure that the custom preset data is adapted to the device and the settings in the data are valid. </dd>
<dd>
It is recommended to re-read the device settings to update the user program temporarily after successfully loading the custom preset.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>The custom preset data. </td></tr>
    <tr><td class="paramname">size</td><td>The size of the custom preset data. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3712fd38b3c49436c6fa1a8199bad7ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::exportSettingsAsPresetJsonFile </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filePath</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Export current device settings as a preset json file. </p>
<p>The exported preset file can be loaded by calling <a class="el" href="classob_1_1Device.html#a95b38ef1cdbcf8030809833176dd2719">loadPresetFromJsonFile</a> to restore the device setting. After exporting the preset, a new preset named as the filePath will be added to the available preset list.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filePath</td><td>The path of the preset file to be exported. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa45bf1cb1cca1da249c0396519958323"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Device::exportSettingsAsPresetJsonData </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>presetName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t **&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>dataSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Export current device settings as a preset json data. </p>
<p>After exporting the preset, a new preset named as the presetName will be added to the available preset list.</p>
<dl class="section attention"><dt>Attention</dt><dd>The memory of the data is allocated by the SDK, and will automatically be released by the SDK. </dd>
<dd>
The memory of the data will be reused by the SDK on the next call, so the user should copy the data to a new buffer if it needs to be preserved.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>return the preset json data. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">dataSize</td><td>return the size of the preset json data. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="af9f0f1adbd5baee7830839447205af8d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classob_1_1Pipeline.html">Pipeline</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="Device_8hpp_source.html#l00632">632</a> of file <a class="el" href="Device_8hpp_source.html">Device.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a2950f414c752afb074d9849f834ae58e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classob_1_1Recorder.html">Recorder</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="Device_8hpp_source.html#l00633">633</a> of file <a class="el" href="Device_8hpp_source.html">Device.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a4bed2fe813d6c793ff9dadd249133dab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classob_1_1CoordinateTransformHelper.html">CoordinateTransformHelper</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="Device_8hpp_source.html#l00634">634</a> of file <a class="el" href="Device_8hpp_source.html">Device.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="affe52066e4c9993e4ed8bdf47fd15d48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::unique_ptr&lt;DeviceImpl&gt; ob::Device::impl_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="Device_8hpp_source.html#l00031">31</a> of file <a class="el" href="Device_8hpp_source.html">Device.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/root/libobsensor/include/libobsensor/hpp/<a class="el" href="Device_8hpp_source.html">Device.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 10 2025 12:28:22 for OrbbecSDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
